Systems and Methods for Selection-Based Contextual Help Retrieval

ABSTRACT

Described herein are systems and methods for selection-based contextual help retrieval. One example method involves (a) receiving first-query data including contextual data, the contextual data indicating a user-interface element type, a user-interface element location, and user-interface element text; (b) determining at least one first-query response based on at least the contextual data; and (c) causing an indication of the determined at least one first-query response to be provided via an output device.

RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.14/126,967, filed Feb. 12, 2014, which is a U.S. national phase ofInternational Application No. PCT/US2012/042979 filed Jun. 18, 2012,which claims priority to U.S. Provisional Patent Application Ser. No.61/498,326 filed Jun. 17, 2011, entitled Systems and Methods forSelection-Based, Crowdsourced, Contextual Help Retrieval in WebApplications, and to U.S. Provisional Patent Application Ser. No.61/540,403 filed Sep. 28, 2011, entitled Systems and Methods forSelection-Based, Crowdsourced, Contextual Help Retrieval in WebApplications, which are incorporated herein in their entirety.

STATEMENT OF U.S. GOVERNMENT INTEREST

This invention was made with government support under CCF-0952733awarded by the National Science Foundation. The government has certainrights in the invention.

COPYRIGHT NOTICE

Contained herein is material that is subject to copyright protection.The copyright owner has no objection to the reproduction of the patentdisclosure by any person as it appears in the Patent and TrademarkOffice patent files or records, but otherwise reserves all rights to thecopyright whatsoever.

BACKGROUND

Unless otherwise indicated herein, the materials described in thissection are not prior art to the claims in this application and are notadmitted to be prior art by inclusion in this section.

With the proliferation of computing technologies, the usability ofcomputing systems, and the usability of computing applications utilizedto interact with such computing systems, has improved greatly.Nonetheless, many users encounter difficulties when attempting to learnhow to use and configure computing applications to meet their particularneeds. Indeed, as computing applications, including web-basedapplications, become more dynamic, feature-rich, and customizable,users' needs for assistance with the use of such applications increases.

While computing-application “help features” have a long history, one ofthe most powerful help features to have yet emerged is “crowdsourced”help. Crowdsourced forms of help enable users to help each other answerquestions in, for example, discussion forums, mailing lists, or withinonline social networks. It is generally recognized that crowdsourcedhelp is powerful at generating answers to help questions. However, it isgenerally considered difficult to find answers to such questions. Moreparticularly, it may be difficult for a user to locate the answer to aquestion that has previously been asked and answered. For example, theonus is on the user to sift through a variety of potential answerresources, evaluate and disregard a large amount of irrelevant material,and/or craft keywords for use in key word searching in an attempt tolocate a sought-after answer.

An improvement is therefore desired.

SUMMARY

Described herein are systems and methods for selection-based contextualhelp retrieval that leverages a user's interaction with a user-interfaceof a computing application to enable the user to ask questions, providesolutions, and efficiently search for help within the hierarchy of theuser-interface itself.

In one aspect, a first computer-implemented method is provided. Themethod may involve: (a) receiving first-query data including contextualdata, the contextual data indicating a user-interface element type, auser-interface element location, and user-interface element text; (b)determining at least one first-query response based on at least thecontextual data; and (c) causing an indication of the determined atleast one first-query response to be provided via an output device.

In a further aspect, a first system is provided. The system may include:(1) a processor; (2) a physical computer readable medium; and (3)program instructions stored on the physical computer readable medium andexecutable by the processor to: (a) receive first-query data includingcontextual data, the contextual data indicating a user-interface elementtype, a user-interface element location, and user-interface elementtext; (b) determine at least one first-query response based on at leastthe contextual data; and (c) cause an indication of the determined atleast one first-query response to be provided via an output device.

In a further aspect, a first physical computer-readable medium isprovided. The physical computer-readable medium may include instructionsincluding: (a) instructions for receiving first-query data includingcontextual data, the contextual data indicating a user-interface elementtype, a user-interface element location, and user-interface elementtext; (b) instructions for determining at least one first-query responsebased on at least the contextual data; and (c) instructions for causingan indication of the determined at least one first-query response to beprovided via an output device.

In a further aspect, a second computer-implemented method is provided.The method may involve: (a) receiving help-mode data indicating auser-preference to enter a help mode corresponding to a graphicaluser-interface including at least one graphical-user-interface element;(b) entering the help mode corresponding to the graphicaluser-interface, the help mode including: (i) providing aninformation-overlay interface corresponding to the graphicaluser-interface, where the information-overlay interface includes atleast one information-overlay-interface element corresponding to atleast one respective graphical-user-interface element; (ii) receivingselection data indicating a selection of the at least oneinformation-overlay-interface element; and (iii) causing a visualindication of the selection of the at least oneinformation-overlay-interface element to be displayed on a graphicaldisplay.

In a further aspect, a second system is provided. The system mayinclude: (1) a processor; (2) a physical computer readable medium; and(3) program instructions stored on the physical computer readable mediumand executable by the processor to: (a) receive help-mode dataindicating a user-preference to enter a help mode corresponding to agraphical user-interface including at least one graphical-user-interfaceelement; (b) enter the help mode corresponding to the graphicaluser-interface, the help mode including: (i) providing aninformation-overlay interface corresponding to the graphicaluser-interface, where the information-overlay interface includes atleast one information-overlay-interface element corresponding to atleast one respective graphical-user-interface element; (ii) receivingselection data indicating a selection of the at least oneinformation-overlay-interface element; and (iii) causing a visualindication of the selection of the at least oneinformation-overlay-interface element to be displayed on a graphicaldisplay.

In a further aspect, a second physical computer-readable medium isprovided. The physical computer-readable medium may include instructionsincluding: (a) instructions for receiving help-mode data indicating auser-preference to enter a help mode corresponding to a graphicaluser-interface including at least one graphical-user-interface element;(b) instructions for entering the help mode corresponding to thegraphical user-interface, the help mode including: (i) providing aninformation-overlay interface corresponding to the graphicaluser-interface, where the information-overlay interface includes atleast one information-overlay-interface element corresponding to the atleast one respective graphical-user-interface element; (ii) receivingselection data indicating a selection of the at least oneinformation-overlay-interface element; and (iii) causing a visualindication of the selection of the at least oneinformation-overlay-interface element to be displayed on a graphicaldisplay.

In a further aspect, a third method is provided. The method may involve:(a) causing a display of a content window on a graphical display, thecontent window including a content element and a feedback element; (b)receiving feedback data indicating (i) a selection of the feedbackelement and (ii) a utility of the content element; and (c) in responseto receiving the feedback data, no longer causing the display of thecontent window on the graphical display, where the content window isdisplayed at least until the feedback data is received.

In a further aspect, a third system is provided. The system may include:(1) a processor; (2) a physical computer readable medium; and (3)program instructions stored on the physical computer readable medium andexecutable by the processor to: (a) cause a display of a content windowon a graphical display, the content window including a content elementand a feedback element; (b) receive feedback data indicating (i) aselection of the feedback element and (ii) a utility of the contentelement; and (c) in response to receiving the feedback data, no longercausing the display of the content window on the graphical display,where the content window is displayed at least until the feedback datais received.

In a further aspect, a third physical computer-readable medium isprovided. The physical computer-readable medium may include instructionsincluding: (a) instructions for causing a display of a content window ona graphical display, the content window including a content element anda feedback element; (b) instructions for receiving feedback dataindicating (i) a selection of the feedback element and (ii) a utility ofthe content element; and (c) instructions for, in response to receivingthe feedback data, no longer causing the display of the content windowon the graphical display, where the content window is displayed at leastuntil the feedback data is received.

These as well as other aspects, advantages, and alternatives, willbecome apparent to those of ordinary skill in the art by reading thefollowing detailed description, with reference where appropriate to theaccompanying drawings.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 shows a simplified block diagram of an example communicationnetwork in which the present methods can be implemented.

FIG. 2 shows a simplified block diagram of a network-access devicearranged to implement aspects of at least one embodiment of the methods.

FIG. 3 shows a simplified block diagram of a server arranged toimplement aspects of at least one embodiment of the methods.

FIG. 4 depicts an example computer-readable medium arranged to implementaspects of at least one embodiment of the methods.

FIGS. 5A-5B are simplified flow charts depicting aspects of an examplemethod.

FIG. 6 is a simplified flow chart depicting aspects of an examplemethod.

FIG. 7 is a simplified flow chart depicting aspects of an examplemethod.

FIGS. 8A-8B depict aspects of an example graphical user-interfaceincluding various user-interface elements in accordance with an examplemethod.

FIGS. 9A-9B depict aspects of an example information-overlay interfacein accordance with an example method.

FIGS. 10A-10B depict aspects of an information-overlay-interfaceelements in accordance with an example method.

FIGS. 11A-11B depict example first-query responses in accordance with anexample method.

FIGS. 12A-12B depict example second-query responses in accordance withan example method.

DETAILED DESCRIPTION

In the following detailed description, reference is made to theaccompanying figures, which form a part thereof. In the figures, similarsymbols typically identify similar components, unless context dictatesotherwise. The illustrative embodiments described in the detaileddescription, figures, and claims are not meant to be limiting. Otherembodiments may be utilized, and other changes may be made, withoutdeparting from the spirit or scope of the subject matter presentedherein. It will be readily understood that aspects of the presentdisclosure, as generally described herein, and illustrated in thefigures, can be arranged, substituted, combined, separated, and/ordesigned in a wide variety of different configurations, all of which areexplicitly contemplated herein.

1. Example Architecture

FIG. 1 shows a simplified block diagram of an example communicationnetwork in which the present method can be implemented. It should beunderstood that this and other arrangements described herein are setforth only as examples. Those skilled in the art will appreciate thatother arrangements and elements (e.g., machines, interfaces, functions,orders, and groupings of functions, etc.) can be used instead and thatsome elements may be omitted altogether. Further, many of the elementsdescribed herein are functional entities that may be implemented asdiscrete or distributed components or in conjunction with othercomponents, and in any suitable combination and location. Variousfunctions described herein as being performed by one or more entitiesmay be carried out by hardware, firmware, and/or software. And variousfunctions described herein may be carried out by a processor executinginstructions stored in memory.

As shown in FIG. 1, example network 100 includes various network-accessdevices 102A-102D, public network 104 such as the Internet, and server106. Note that additional entities not depicted in FIG. 1 could bepresent as well. As an example, there could be more network-accessdevices and more servers in communication with public network 104. Othernetwork elements may be in communication with public network 104 aswell. Also, there could be one or more devices and/or networks making upat least part of one or more of the communication links depicted inFIG. 1. As an example, there could be one or more routers, switches, orother devices or networks on the communication links betweennetwork-access devices 102A-102D, public network 104, and/or server 106.

Each of network-access devices 102A-102D may be any network-accessdevice arranged to carry out the network-access device functionsdescribed herein. As such each of network-access devices 102A-102D,including network-access device 102A as shown in FIG. 2A, may includeprocessor 202, data storage 204, and communication interface 210, alllinked together via system bus, network, or other connection mechanism212.

Processor 202 may include one or more general purpose microprocessorsand/or one or more dedicated signal processors and may be integrated inwhole or in part with communication interface 210. Data storage 204 mayinclude memory and/or other storage components, such as optical,magnetic, organic or other memory disc storage, which can be volatileand/or non-volatile, internal and/or external, and integrated in wholeor in part with processor 202. Data storage 204 may be arranged tocontain (i) program data 206 and (ii) program logic 208. Although thesecomponents are described herein as separate data storage elements, theelements could just as well be physically integrated together ordistributed in various other ways. For example, program data 206 may bemaintained in data storage 204 separate from program logic 208, for easyupdating and reference by program logic 208.

Communication interface 210 typically functions to communicativelycouple network-access device 102A to networks, such as public network104. As such, communication interface 210 may include a wired (e.g.,Ethernet) and/or wireless (e.g., Wi-Fi) packet-data interface, forcommunicating with other devices, entities, and/or networks.Network-access device 102A may also include multiple interfaces 210,such as one through which network-access device 102A sendscommunication, and one through which network-access device 102A receivescommunication.

Network-access device 102A may also include, or may be otherwisecommunicatively coupled to, user interface 220. User interface 220 mayinclude input device 222 including, for example, buttons, a touchscreen, a microphone, and/or any other elements for receiving inputs.User interface 220 may also include one or more elements forcommunicating outputs, for example, one or more graphical displays 224and/or a speaker. In operation, user interface 220 may be configured todisplay a graphical user interface (GUI) via graphical display 224 andmay also be configured to receive inputs, via input device 222,corresponding to use of such a GUI. In some embodiments, input device222 may include a visual-capture device such as a camera. The camera maybe configured and/or arranged to track eye movements.

Server 106 may be any network server or other computing system arrangedto carry out the server functions described herein including, but notlimited to, those functions described with respect to FIGS. 5-7. Assuch, as shown in FIG. 3, server 106 may include processor 302, datastorage 304 including program data 306 and program logic 308, andcommunication interface 310, all linked together via system bus,network, or other connection mechanism 312. Processor 302, data storage304, program data 306, program logic 308, and communication interface310 may be configured and/or arranged similar to processor 302, datastorage 304, program data 306, program logic 308, and communicationinterface 310, respectively, as described above with respect tonetwork-access device 102A.

Data storage 304 may contain information used by server 106 inoperation. For example, date storage 304 may include instructionsexecutable by the processor for carrying out the server functionsdescribed herein including, but not limited to, those functionsdescribed below with respect to FIGS. 5-7. As another example, datastorage 304 may contain various design logic and/or design data used fordetermining a test result, such as the logic and data described belowwith respect to FIGS. 5-7. Generally, data storage 304 may containinformation used by server 106 to provide an e-commerce storefront thatis accessible by various network-access devices, such as network-accessdevice 102A, over public network 104.

Returning to FIG. 1, public network 104 may include one or more widearea networks, one or more local area networks, one or more publicnetworks such as the Internet, one or more private networks, one or morewired networks, one or more wireless networks, and/or one or morenetworks of any other variety. Devices in communication with publicnetwork 104 (including, but not limited to, network-access devices102A-102D and server 106) may exchange data using a packet-switchedprotocol such as IP, and may be identified by an address such as an IPaddress.

As noted above, in some embodiments, the disclosed methods may beimplemented by computer program instructions encoded on a non-transitorycomputer-readable storage media in a machine-readable format, or onother non-transitory media or articles of manufacture. FIG. 4 is aschematic illustrating a conceptual partial view of an example computerprogram product that includes a computer program for executing acomputer process on a computing device, arranged according to at leastsome embodiments presented herein.

In one embodiment, the example computer program product 400 is providedusing a signal bearing medium 402. The signal bearing medium 402 mayinclude one or more programming instructions 404 that, when executed byone or more processors may provide functionality or portions of thefunctionality described herein. In some examples, the signal bearingmedium 402 may encompass a computer-readable medium 406, such as, butnot limited to, a hard disk drive, a Compact Disc (CD), a Digital VideoDisk (DVD), a digital tape, memory, etc. In some implementations, thesignal bearing medium 402 may encompass a computer-recordable medium408, such as, but not limited to, memory, read/write (R/W) CDs, R/WDVDs, etc. In some implementations, the signal bearing medium 402 mayencompass a communications medium 410, such as, but not limited to, adigital and/or an analog communication medium (e.g., a fiber opticcable, a waveguide, a wired communications link, a wirelesscommunication link, etc.). Thus, for example, the signal bearing medium402 may be conveyed by a wireless form of the communications medium 410.It should be understood, however, that computer-readable medium 406,computer recordable medium 408, and communications medium 410 ascontemplated herein are distinct mediums and that, in any event,computer-readable medium 408 is a physical, non-transitory,computer-readable medium.

The one or more programming instructions 404 may be, for example,computer executable and/or logic implemented instructions. In someexamples, a computing device such as the network-access device 102A ofFIG. 2 may be configured to provide various operations, functions, oractions in response to the programming instructions 404 conveyed to thenetwork-access device 102A by one or more of the computer readablemedium 406, the computer recordable medium 408, and/or thecommunications medium 410.

The non-transitory computer readable medium could also be distributedamong multiple data storage elements, which could be remotely locatedfrom each other. The computing device that executes some or all of thestored instructions could be a network-access device such as thenetwork-access device 102A illustrated in FIG. 2. Alternatively, thecomputing device that executes some or all of the stored instructionscould be another computing device, such as a server, for instance server106 illustrated in FIG. 3.

2. Example Web-Application Interface

FIGS. 5A, 5B, 6, and 7 each show simplified flow charts depictingaspects of example methods for selection-based contextual help retrievalas described herein. For purposes of example and explanation, aspects ofsuch example methods are described with reference to an exampleweb-application interface. It should be understood, however, that theexample methods described herein may apply just as well to any suitablegraphical user-interface including, but not limited to, any graphicaluser-interface implemented on a computer, mobile computing device,portable media player, gaming device, household appliance, officeequipment, and/or other computing system.

FIGS. 8A-8B depict aspects of an example graphical user-interfaceincluding various user-interface elements in accordance with an examplemethod. More particularly, FIGS. 8A-8B depict aspects of an exampleweb-application interface. FIG. 8A depicts a block diagram of interfaceelements included in the example web-application interface and FIG. 8Bdepicts a corresponding graphical web-application interface.

With respect to FIG. 8A, user-interface 802 includes a variety ofuser-interface elements. Such user-interface elements include logoelement 804, button elements 806A-806E, search element 808, contentelement 810, and site-help element 812. Each user-interface element maygenerally possess various features, characteristics, and/orfunctionality. Further, while FIG. 8A depicts certain exampleuser-interface elements, those of ordinary skill in the art willappreciate that other user-interface elements may exist. Theuser-interface elements depicted in FIG. 8A are for purposes of exampleand explanation only and should not be taken to be limiting.

With respect to FIG. 8B, user-interface 852 also includes a variety ofuser-interface elements, certain of which, for purposes of example andexplanation, are noted as corresponding to the user-interface elementsdepicted in FIG. 8A. More particularly, logo element 854 generallycorresponds to logo element 804. Button elements 856A-856E generallycorrespond respectively to button elements 806A-806E. Search element 858generally corresponds to search element 810. And site-help element 852generally corresponds to site-help element 812.

Various respective features, characteristics, and/or functionality ofthe user-interface elements depicted in FIGS. 8A and 8B are discussedfurther below with respect to the example methods described herein.

3. First Example Method

FIG. 5A shows a flowchart depicting functions that can be carried out inaccordance with at least one embodiment of a first example method. Asshown in FIG. 5A, method 500 begins at block 502 with a computing systemreceiving first-query data including contextual data, the contextualdata indicating a user-interface element type, a user-interface elementlocation, and user-interface element text. At block 504, the computingsystem determines at least one first-query response based on at leastthe contextual data. And at block 506, the computing system causes anindication of the determined at least one first-query response to beprovided via an output device.

FIG. 5B shows a flowchart depicting additional functions that can becarried out in accordance with at least one embodiment of the firstexample method. In an embodiment, the functions depicted in FIG. 5B maybe carried out after those functions depicted in FIG. 5A. As shown inFIG. 5B, method 510 begins at block 512 with a computing systemreceiving second-query data indicating a selection of one or more of theat least one first-query responses. At block 514, the computing systemdetermines at least one second-query response based on the second-querydata. And at block 516, the computing system causes an indication of thedetermined at least one second-query response to be provided via theoutput device.

The steps of method 500 and 510 are explained in the followingsubsections.

And although methods 500 and 510 may be carried out by server 106, thisis not required. In some embodiments, methods 500 and 510 may be carriedout entirely, or in part, by network-access device 102A or some othercomputing system that may or may not be communicatively coupled to anynetwork.

a. Receive First-Query Data Including Contextual Data

At block 502, a computing system receives first-query data includingcontextual data, the contextual data indicating a user-interface elementtype, a user-interface element location, and user-interface elementtext.

As a general matter, the first-query data may be submitted to thecomputing system by a user of the user-interface as a result of the userinteracting with the user-interface and/or, as will be discussed below,as a result of the user interacting with a “help mode”information-overlay interface corresponding to the user-interface. Inany event, the user may generally identify a particular user-interfaceelement that the user seeks help in connection with. For instance, withrespect to FIG. 8A, the user may have a question regarding the functionthat button element 806A performs, and so the user may indicate buttonelement 806A. Alternatively, the user may have a question regarding howsearch element 808 works, and so the user may indicate search element808.

Further, it should be understood that, more generally, theuser-interface element identified by the user may, or may not, berelated to functionality the user is seeking help regarding. That is,the user-interface element need not be interactive elements of theuser-interface. For instance, in an embodiment, with respect to FIG. 8A,the user may indicate logo element 804 if the user is seeking generalinformation about the function, purpose, or some other general aspect ofuser-interface 802.

As noted, the first-query data received by the computing system includescontextual data. Such contextual data may generally be used by thecomputing system to analyze, identify, or otherwise evaluate theuser-interface element indicated by the user and/or identify potentialquestions the user may have relative to the user-interface element.Accordingly, the contextual data may indicate certain information tofacilitate such an analysis and/or identification including, forexample, the user-interface element type, the user-interface elementlocation within the user-interface hierarchy, and the user-interfaceelement text. Those of ordinary skill in the art will appreciate thatadditional contextual data, examples of some of which are discussedbelow, may be analyzed by the computing system as well.

The user-interface element type may generally identify a type of therespective user-interface element. The type may indicate acategorization of the user-interface element, a file type of theuser-interface element, or a purpose of the user-interface element,among other examples. In an embodiment, the type may correspond to a tagof the user-interface element. For instance, including but not limitedto, a web-application embodiment, the type may correspond to a DocumentObject Model (DOM) object tag associated with the user-interfaceelement. Examples of such DOM object tags include DIV, TABLE, andBUTTON, among other examples. Thus, the type of logo element 804 may be,for example, “graphic,” “.jpg,” or “logo.” The type of any of buttonelements 806A may be, for example, “button,” “.jpg,” or “navigation.”The type of search element 808 may be, for example, “input field” or“search.” And the type of content element 810 may be, for example,“content,” “text,” or “information.” Those of ordinary skill in the artwill appreciate that additional user-interface element types may existas well and that the examples provided herein should not be taken to belimiting. In particular, additional user-interface element types mayexist in a web-application embodiment, and additional user-interfaceelements may exist in other user-interface embodiments as well.

The user-interface element location may generally identify a location ofthe user-interface element within the user interface. That is, thelocation may indicate a position, whether relative, absolute, orstructural, of the user-interface element within the user interface. Inan embodiment, including but not limited to, a web-applicationembodiment, the location may be the standard XPath string representationof the user-interface element. For instance, the location may include asequence of tag names and child indices that indicate the path from theDOM tree to the selected user-interface element. Those of ordinary skillin the art will appreciate that additional approaches to indicating auser-interface element location may exist as well and that the examplesprovided herein should not be taken to be limiting.

The user-interface element text may generally indicate any textassociated with the user-interface element in the underlying code of theuser-interface. In an embodiment, including but not limited to, aweb-application embodiment, the text may be visible text on the DOM nodeassociated with the user-interface element. For instance, the text mayinclude all of the text-node descendants of the selected node,concatenated into one string. Additionally, or alternatively, to theextent the user-interface element includes an ALT attribute (as istypically the case for image user-interface elements), the text of theALT attribute may also be concatenated onto the user-interface elementtext. Those of ordinary skill in the art will appreciate that additionaluser-interface element text may exist as well and that the examplesprovided herein should not be taken to be limiting.

Those of ordinary skill in the art will also appreciate that othercontextual data may be utilized by the computing system as well. As oneexample of such additional contextual data, the computing system mayevaluate a user-interface element style associated with theuser-interface element. The style may include, for example, anidentification of a color, size, and/or shape, among other styleproperties, of the user-interface element.

For purposes of example and explanation, the user-interface may beconfigured or otherwise arranged to be capable of entering a “help mode”where normal operation of the user-interface may be suspended and theuser is able to submit the first-query data to the computing system. Inan embodiment, such a help mode may be entered in response to selectionof site-help element 812, which may take the form of a button.

Thus, before receiving the first-query data, the computing system mayreceive help-mode data indicating a user-preference to enter a helpmode. In an embodiment, the help-mode data may correspond to theselection of a help-mode element on the user-interface such as site-helpelement 812 in FIG. 8A. Note that site-help element 862 in FIG. 8Bgenerally corresponds to site-help element 812.

However, additionally or alternatively, the help-mode data maycorrespond to a key event, such as the selection of a particular key ona keyboard associated with the help mode. And, additionally oralternatively still, the help mode data may correspond to an inputgesture, such as a particular movement of a mouse cursor associated withthe help mode. The key event and/or input gesture may provide a moreefficient, convenient, and/or intuitive technique for entering the helpmode than does selection of site-help element 812.

As will be discussed further below, entering the help mode may involveproviding an information-overlay interface that corresponds to thegraphical-user interface. Accordingly, FIGS. 9A-9B depict aspects of anexample information-overlay interface in accordance with the examplemethods described herein. FIG. 9A depicts a block diagram of an exampleinformation-overlay interface and FIG. 9B depicts a correspondinggraphical web-application information-overlay interface.

With respect to FIG. 9A, user-interface 902 is shown. User-interface 902includes an information-overlay layer that has caused user-interface 802to “dim.” Such a dimming effect may generally indicate that the helpmode has been entered, and that normal operation of the user-interfacehas been suspended. Further, user-interface 902 may include variousinformation-overlay-interface elements (not shown), each correspondingto a respective user-interface element of user interface 802. Suchinformation-overlay-interface elements may not be initially apparent(and may become apparent upon a user moving a mouse cursor over theinformation-overlay-interface element, as discussed further below). But,nonetheless, user-interface 902 may indicate the presence of suchinformation-overlay-interface elements by way of various visualindications 904A-9041 of an identification of respectiveinformation-overlay elements.

With respect to FIG. 9B, user-interface 952 also includes aninformation-overlay layer that has caused user-interface 852 to “dim”(as also discussed above with respect to FIG. 8B). For purposes ofexample and explanation, visual indications 954A and 954B generallycorrespond to visual indications 904A-9041. Other such visualindications are shown in user-interface 952. And although the visualindications are generally shown as taking the form of question marks,those of skill in the art will appreciate that such visual indicationsmay take any other suitable form as well.

The information-overlay layer, such as that depicted in FIGS. 9A and 9B,is discussed in greater detail below.

As noted above, the computing system may receive the first-query dataincluding the contextual data as the result of the user identifying aparticular user-interface element that the user seeks help in connectionwith. Accordingly, FIGS. 10A-10B depict aspects ofinformation-overlay-interface elements in accordance with the examplemethods described herein. More particularly, FIGS. 10A-10B depict theindication of an information-overlay-interface element that correspondsto a respective graphical user-interface element. FIG. 10A depicts ablock diagram of the information-overlay-interface elements and FIG. 10Bdepicts corresponding graphical web-applicationinformation-overlay-interface elements.

With respect to FIG. 10A, user-interface 1002 is shown. User-interface1002 includes information-overlay-interface element 1006 that has beenmade visible as a result of the user moving mouse cursor 1004 overinformation-overlay-interface element 1006 (and corresponding buttonelement 806C). In the example depicted in FIG. 10A, overlay element 1006appears to highlight button element 806C.

With respect to FIG. 10B, user interface 1052 is shown. User-interface1052 includes information-overlay-interface element 1054, corresponding,for purposes of example and explanation, toinformation-overlay-interface element 1006, which has been made visibleas a result of a user moving a mouse cursor (not shown) overinformation-overlay-interface element 1054. In the example depicted inFIG. 10B, the button element corresponding toinformation-overlay-interface element 1054 appears to be highlighted.Those of skill in the art will appreciate that, while theinformation-overlay-interface elements depicted in FIGS. 10A-10B causetheir respective corresponding graphical-user-interface elements toappear highlighted, the existence of such information-overlay-interfaceelements may be indicated in a number of alternative suitable manners.In one alternative embodiment, for example, the correspondinggraphical-user-interface element may appear to be underlined in additionto, or instead of, highlighted.

In any event, the user may indicate a particular user-interface elementthat the user seeks help in connection with by selecting thecorresponding information-overlay-interface element, and thereby causethe computing system to receive first-query data including contextualdata, the contextual data indicating the user-interface element type,the user-interface element location, and user-interface element text.Such a selection may be executed by, for example, clicking on theinformation-overlay-interface element, placing the mouse cursor on theinformation-overlay-interface element for a predetermined amount oftime, and/or any other suitable selection technique as will beappreciated by those with ordinary skill in the art.

b. Determine at Least One First-Query Response

At block 504, the computing system determines at least one first-queryresponse based on at least the contextual data. That is, the computingsystem determines at least one first-query response based on at leastthe user-interface element type, a user-interface element location, anduser-interface element text of the user-interface element indicated bythe user.

The first-query responses may generally correspond to questionsassociated with parts, aspects, and/or features of the user-interfaceelement. Such first-query responses, or questions, may be stored by thecomputing system, either locally or remotely, in a database or othersuitable storage arrangement. As a general matter, the contextual datamay be used to identify first-query responses that are associated withthe user-interface element.

The first-query responses may be ordered based on a predicted relevanceto the help the user is seeking. Thus, the computing system maydetermine an order of the determined at least one first-query responsebased on a respective relevance of each determined at least onefirst-query response. The computing system may leverage the contextualdata, i.e., the user-interface element type, the user-interface elementlocation, and the user-interface element text to help determine therespective relevance of each first-query response. More particularly,the computing system may determine a context score for each first-queryresponse that corresponds to the predicted relevance of the first-queryresponse to the help the user is seeking.

Determining a respective context score for each determined at least onefirst-query response may involve determining the respective contextscore based on at least one of an element-type metric, anelement-location metric, and an element-text metric. The computingsystem may then determine the respective relevance of each determined atleast one first-query response based on at least the respective contextscore. As a general matter, the relevances and/or context scores may bedetermined based on any suitable contextual data described above.

The element-type metric may be determined or calculated based on arelevance of the user-interface element type to the first-queryresponse. In an embodiment, the computing system may store, for eachfirst-query response, the user-interface element types that areassociated with the first-query response. Accordingly, if theuser-interface element type indicated in the contextual data is presentin the user-interface element types associated with the first queryresponse, the element-type metric may be set to 1. On the other hand, ifthe user-interface element type indicated in the contextual data is notpresent in the user-interface element types associated with the firstquery response, the element-type metric may be set to 0.

The element-location metric may be determined or calculated based on arelevance of the user-interface element location to the first-queryresponse. In an embodiment, the computing system may store, for eachfirst-query response, the user-interface element locations that areassociated with the first-query response. Accordingly, theelement-location metric may represent the similarity of the location ofthe user-interface element location indicated in the contextual data andthe location(s) associated with the first-query response. In an example,the computing system may calculate a percent similarity between the twolocations. For instance, in an embodiment where the locations areindicated using XPaths, the computing system may start from the root ofthe XPath and do a node-by-node string equality comparison to determinehow much overlap there is between the two XPaths. Thus, theelement-location metric may be set to a value between 0 and 1, the valuecorresponding to the calculated percent similarity between the twolocations.

The element-text metric may be determined or calculated based on arelevance of the user-interface element text to the first-queryresponse. In an embodiment, the computing system may store, for eachfirst-query response, the text of the first-query response. Accordingly,the element-text metric may represent the similarity of the text of theuser-interface element text indicated in the contextual data and thetext of the first-query response. In an example, the computing systemmay perform a string contains operation to determine whether theuser-interface element text is present in the text of the first-queryresponse. If the user-interface element text is present in the text ofthe first-query response, the element-text metric may be set to 1. Onthe other hand, if the user-interface element text is not present in thetext of the first-query response, the element-text metric may be set to0.

As noted, the respective context score may be determined based on somecombination of the element-type metric, the element-location metric, andthe element-text metric. For instance, the context score may be theaddition, product, or some other combination of each metric.

In an embodiment, determining the respective context score may involvedetermining the respective context score based on at least a weightedaverage of the element-text metric, the element-location metric, and theelement-type metric. In a particular example, each metric may beweighted by a value between 0 and 1, and the weighted metrics may thenbe added. For instance, the element-type metric may be weighted by 0.1,the element-location metric may be weighted by 0.2, and the element-textmetric may be weighted by 0.7. Those of ordinary skill in the art willappreciated that other suitable weight combinations may be used as well.

In addition to the contextual data, the first-query data may alsoinclude search-term data that indicates at least one search term. Thesearch-term data may be provided by the user by inputting the at leastone search term into a text-input box and submitting the at least onesearch term to the computing system. As a general matter, the searchterms may reflect a key phrase, or search phrase, corresponding to thehelp that the user is seeking.

Accordingly, determining the at least one first-query response mayinvolve determining the at least one first-query response based on atleast the contextual data and the search-term data. Additionally,determining the respective relevance of each determined at least onefirst-query response may involve determining the respective relevance ofeach determined at least one first-query response based on at least thecontext score and a text-similarity score. The text similarity score maybe determined or calculated based on a relevance of the at least onesearch term to the first-query response. As noted, in an embodiment, thecomputing system may store, for each first-query response, the text ofthe first-query response. Accordingly, the text-similarity score mayrepresent the similarity of the at least one search term and the text ofthe first-query response. In an example, the computing system maycompare the at least one search term with the text of the first-queryresponse using a search index of the text of the first-query response.The text-similarity score may then reflect the frequency with which theat least one search term appears in the text of a given first-queryresponse compared to the text of all other first-query responses. Thoseof skill in the art will appreciate that other text search techniquesmay be used to determine or calculate the text-similarity score.

Further, in an embodiment, the first-query responses may be orderedbased on additional information as well. Such additional information mayinclude the web-browser in which the user-interface is accessed and/or auniform resource locator (URL) associated with the user-interface.

c. Cause an Indication of the Determined at Least One First-QueryResponse to be Provided

At block 506, the computing system causes an indication of thedetermined at least one first-query response to be provided via anoutput device. In one embodiment, the indication may be a visualindication and the output device may be a graphical display. However,this is not necessary. In an alternative embodiment the indication maybe an audible indication and the output device may be a speaker (e.g.,in the form of a free standing speaker, headphones, etc.). Note that theoutput device may be located locally (i.e., attached) or remote (i.e.,networked) to the computing system carrying out method 500.

With respect to a visual indication of the at least one first-queryresponse, FIGS. 11A-11B depict example first-query responses inaccordance with the example methods described herein. FIG. 11A depicts ablock diagram of example first-query responses and FIG. 11B depictscorresponding example first-query responses within a graphicalweb-application interface.

With respect to FIG. 11A, user-interface 1102 includes content box 1104including search input field 1106 and example first-query responses1108A-1008C. Example first-query responses 1108A-1008C may befirst-query responses determined in accordance with block 504 asdescribed above. Further, first-query responses 1108A-1108C may beordered based on relevance in accordance with block 504 as describedabove. And while three first-query responses are depicted in the exampleshown in FIG. 11A, this is not necessary. Any suitable number offirst-query responses may be displayed. Further, while, as describedabove, each first-query response may generally correspond to a questionpredicted to be relevant to the help sought by the user, it is possiblethat the computing system may not possess, or may not have stored, anysuch first-query responses or questions. In such a case, the first-queryresponse may indicate that no relevant questions exist in the system.

Search input 1106 may be a text-input box that the user may use tosubmit at least one search term to the computing system as describedabove with respect to block 504. In the event that first-query responses1108A-1108C are displayed prior to the user inputting a search term intosearch input 1106, the first-query responses 1108A-1008C may be updatedbased on the search term input into search input 1106.

With respect to FIG. 11B, user-interface 1152 includes, for purposes ofexample and explanation, content box 1154 generally corresponding tocontent box 1104, search input field 1156 generally corresponding tosearch input field 1106, and example first-query response 1158 whichgenerally corresponds to any one of example first-query responses1108A-1108C.

Content box 1154 also includes “ask your own question” button 1160,whereby a user may select button 1160 and input a new question, orfirst-query response, into the computing system. Accordingly, thecomputing system may receive question data indicating a questionassociated with a given user-interface element. The computing system mayalso cause the question data to be stored as a first-query response.

Content box 1154 also includes various answer indicators 1162, eachassociated with a respective first-query response, that indicate whetherthe computing system has available, for the respective first-queryresponse (or question) an associated answer (or second-query response).Second-query responses, or answers, are discussed further below.

Content box 1154 also includes various “me too” buttons 1164, whereby auser may indicate that the user has the same, or similar question. Inthis way, the computing system may track which questions are most commonto users, and potentially use such information as an additional basisfor determining the respective relevance of each question (orfirst-query response).

Context box 1154 may include additional features as well. For instance,context box 1154 may include various subscription buttons, eachassociated with a particular question. A user may then “subscribe” to aquestion and be alerted, perhaps by email or instant message, once a newanswer to the question becomes available. Further, context box 1154 mayinclude various spam buttons, each associated with a particularquestion. A user may then “flag” a particular question as spam, and anadministrator of the user-interface may evaluate the flagged questionfor potential removal.

d. Receive Second-Query Data

At block 512, the computing system receives second-query data indicatinga selection of one or more of the at least one first-query responses.For example, the user may select one of first-query responses1108A-1108C. The selected first-query response may reflect a questionthat is relevant to the help sought by the user. As a result ofselecting the first-query response the user may submit to the computingsystem the second-query data indicating the selection of the first-queryresponse.

e. Determine at Least One Second-Query Response

At block 514, the computing system determines at least one second-queryresponse based on the second-query data. That is, the computing systemdetermines at least one second-query response based on at least thefirst-query response, or question, indicated by the second-query data.

The second-query responses may generally correspond to answersassociated with the selected first-query response, or question. Suchsecond-query responses, or answers, may be stored by the computingsystem, either locally or remotely, in a database or other suitablestorage arrangement. As a general matter, the selected first-queryresponse may be used to identify the appropriate second query response.In an embodiment, for example, the computing system will store in anassociation database the second-query responses (or answers) that areassociated with each first-query response (or question) for efficientreference and retrieval.

Like the first-query responses, the second-query responses may beordered based on a predicted relevance to the help the user is seeking.Thus, the computing system may determine an order of the determined atleast one second-query response based on a respective relevance of eachdetermined at least one second-query response.

Determining an order of the determined at least one second-queryresponse based on a respective relevance of each determined at least onesecond-query response, may involve determining the respective relevanceof each determined at least one second-query response based on at leastan identity of an author of each determined at least one second-queryresponse. For instance, the computing system may store the identity ofthe author of each second-query response, or answer. The computingsystem may also store an indication of the experience, status, and/orother such indication of the prestige of the author of the second-queryresponse. Those second-query responses authored by authors deemed tohave a relatively higher prestige may be determined to have a relativelyhigher relevance.

f. Cause an Indication of the Determined at Least One Second-QueryResponse to be Provided

At block 516, the computing system causes an indication of thedetermined at least one second-query response to be provided via theoutput device. In one embodiment, the indication may be a visualindication and the output device may be a graphical display. However,this is not necessary. In an alternative embodiment the indication maybe an audible indication and the output device may be a speaker (e.g.,in the form of a free standing speaker, headphones, etc.) Note that theoutput device may be located locally (i.e., attached) or remote (i.e.,networked) to the computing system carrying out method 510.

With respect to a visual indication of the at least one second-queryresponse FIGS. 12A-12B depict example second-query responses inaccordance with the example methods described herein. FIG. 12A depicts ablock diagram of example second-query responses and FIG. 12B depictscorresponding example second-query responses within a graphicalweb-application interface.

With respect to FIG. 12A, user-interface 1202 includes content box 1204including example second-query responses 1206A-1206B and helpfulnessbuttons 1208A-1208D. Example second-query responses 1206A-1206B may besecond-query responses determined in accordance with block 514 asdescribed above. Further, second-query responses 1206A-1206B may beordered based on relevance in accordance with block 514 as describedabove. And while two second-query responses are depicted in the exampleshown in FIG. 12A, this is not necessary. Any suitable number ofsecond-query responses may be displayed. Further, while, as describedabove, each second-query response may generally be an answer to thefirst-query response, or question, selected by the user, it is possiblethat the computing system may not possess, or may not have stored, anysuch second-query responses or answers. In such a case, the second-queryresponse may indicate that no relevant answers exist in the system. Inthe event that the second-query response is an indication that norelevant answers exist in the system, the user may submit to thecomputing system answer-needed data, perhaps by way of a button or otherinput element, indicating that an answer corresponding to thefirst-query response is needed.

Helpfulness buttons 1208A-1208D may be selectable by the user and mayfunction to provide an indication of the helpfulness (or lack thereof)of a particular second-query response, or answer. Accordingly in anembodiment, a particular helpfulness button, such as any of helpfulnessbuttons 1208A-1208D may be associated with a particular second-queryresponse, or may be associated with a group of second-query responses.For instance, “nothing helpful” button 1208A may indicate thatsecond-query responses 1206A-1206B contain nothing helpful. “Somethinghelpful” button 1208B may indicate that, among the information providedby second-query responses 1206A-1206B, there was some helpfulinformation. “Helpful” button 1208C may indicate that second-queryresponse 1206A, in particular, was helpful. And “Helpful” button 1208Dmay indicate that second-query response 1206B, in particular, washelpful. Thus, after causing the indication of the determined at leastone second-query response to be provided, the computing system mayreceive helpfulness data indicating an extent to which the at least onesecond-query response was helpful.

With respect to FIG. 12B, user-interface 1252 includes, for purposes ofexample and explanation, content box 1254 generally corresponding tocontent box 1204, example second-query responses 1258A-1258B whichgenerally correspond to example second-query responses 1206A-1206B, andhelpfulness buttons 1260A-1260D generally corresponding to helpfulnessbuttons 1208A-1208D. Content box 1254 also includes an indication of theselected first-query response 1256, for the user's reference.

Context box 1262 also includes “add an answer” button 1262, whereby auser may select button 1262 and input a new answer, or second-queryresponse, into the computing system. Accordingly, the computing systemmay receive answer data indicating an answer associated with a givenfirst-query response, or question. The computing system may also causethe answer data to be stored as a second-query response.

Further, as noted above, the answer data may further indicate an authorof the answer. Correspondingly, an indication of the experience, status,and/or other such indication of the prestige of the author thesecond-query response may be modified based on the helpfulness rating ofthe provided answer. The helpfulness rating may change based onhelpfulness data received as a result of use of helpfulness buttons1260A-1260D as described above.

4. Second Example Method

FIG. 6 shows a flowchart depicting functions that can be carried out inaccordance with at least one embodiment of a second example method. Asshown in FIG. 6, method 600 begins at block 602 with a computing systemreceiving help-mode data indicating a user-preference to enter a helpmode corresponding to a graphical user-interface including at least onegraphical-user-interface element. At block 604, the computing systementers the help mode corresponding to the graphical user-interface. Thehelp mode includes, at block 604A, providing an information-overlayinterface corresponding to the graphical user-interface, where theinformation-overlay interface includes at least oneinformation-overlay-interface element corresponding to at least onerespective graphical-user-interface element. The help mode alsoincludes, at block 604B, receiving selection data indicating a selectionof the at least one information-overlay-interface element. And the helpmode also includes, at block 604C, causing a visual indication of theselection of the at least one information-overlay-interface element tobe displayed on a graphical display. The steps of method 600 areexplained in the following subsections.

And although method 600 may be carried out by server 106, this is notrequired. In some embodiments, method 600 may be carried out entirely,or in part, by network-access device 102A or some other computing systemthat may or may not be communicatively coupled to any network.

a. Receive Help-Mode Data

At block 602, a computing system receives help-mode data indicating auser-preference to enter a help mode corresponding to a graphicaluser-interface including at least one graphical-user-interface element.In an embodiment, the help-mode data may correspond to the selection ofa help-mode element on the user-interface such as site-help element 812in FIG. 8A. Note that site-help element 862 in FIG. 8B generallycorresponds to site-help element 812.

However, additionally or alternatively, the help-mode data maycorrespond to a key event, such as the selection of a particular key ona keyboard associated with the help mode. And, additionally oralternatively still, the help mode data may correspond to an inputgesture, such as a particular movement of a mouse cursor associated withthe help mode. The key event and/or input gesture may provide a moreefficient, convenient, and/or intuitive technique for entering the helpmode than does selection of site-help element 812.

b. Enter Help Mode

At block 604, the computing system enters the help mode corresponding tothe graphical user-interface.

i. Provide Information-Overlay Interface

The help mode includes, at block 604A, providing an information-overlayinterface corresponding to the graphical user-interface, where theinformation-overlay interface includes at least oneinformation-overlay-interface element corresponding to at least onerespective graphical-user-interface element. As noted above, FIGS.10A-10B depict the indication of an information-overlay-interfaceelement that corresponds to a respective user-interface element. FIG.10A depicts a block diagram of the information-overlay-interfaceelements and FIG. 10B depicts corresponding graphical web-applicationinformation-overlay-interface elements.

With respect to FIG. 10A, user-interface 1002 is shown. User-interface1002 includes information-overlay-interface element 1006 that has beenmade visible as a result of the user moving mouse cursor 1004 overinformation-overlay-interface element 1006 (and corresponding buttonelement 806C). Similar such information-overlay-interface elements mayexist that correspond to the other graphical-user-interface elements inuser-interface 1002 including, for example, any of logo element 804,button elements 806A-806E, search element 808, content element 810,and/or site-help element 812.

ii. Receive Selection Data

The help mode also includes, at block 604B, receiving selection dataindicating a selection of the at least one information-overlay-interfaceelement. However, as noted above, before receiving the selection data,the computing system may cause a visual indication of an identificationof the at least one information-overlay-interface element to bedisplayed on the graphical display. Such a visual indication may takeany suitable form including a highlighting and/or underlining of thegraphical-user-interface element that corresponds to theinformation-overlay element.

In connection with the correspondence between variousinformation-overlay-interface elements and various respectivegraphical-user-interface elements, the selection of the at least oneinformation-overlay-interface element may be associated with a selectionof the corresponding at least one respective graphical-user-interfaceelement. In other words, the selection of theinformation-overlay-interface element may serve as a proxy for theuser's desire to indicate that the user seeks help regarding thecorresponding graphical-user-interface element.

Further, the computing system may, before receiving the selection data,modify at least one graphical property of the graphical user-interface.For instance, as discussed above, and as depicted in FIGS. 9A and 9B,the graphical user-interface may be “dimmed.” However, this is notnecessary. In an alternative embodiment, the graphical user-interfacemay not be dimmed at all.

iii. Cause Visual Indication of Selection

The help mode also includes, at block 604C, causing a visual indicationof the selection of the at least one information-overlay-interfaceelement to be displayed on a graphical display. For instance, as aresult of the selection, the computing system may cause an additionalnew content window to be displayed. In an embodiment, such a contentwindow may take the form of content window 1104 or content window 1154as discussed above.

Further, as discussed above, the selection data may further indicate auser-interface element type, a user-interface element location, anduser-interface element text. Accordingly, the help mode may furtherinvolve determining at least one first-query response based on at leastthe selection data, or the user-interface element type, user-interfaceelement location, and user-interface element text, as described above.The help mode may also involve causing a visual indication of thedetermined at least one first-query response to be displayed on thegraphical display, as depicted in FIGS. 11A and 11B. Further, the helpmode may involve any additional suitable features described above withrespect to the first example method.

5. Third Example Method

FIG. 7 shows a flowchart depicting functions that can be carried out inaccordance with at least one embodiment of a third example method. Asshown in FIG. 7, method 700 begins at block 702 with a computing systemcausing a display of a content window on a graphical display, thecontent window including a content element and a feedback element. Atblock 704, the computing system receives feedback data indicating aselection of the feedback element and a utility of the content element.And at block 706, the computing system, in response to receiving thefeedback data, no longer causes the display of the content window on thegraphical display, where the content window is displayed at least untilthe feedback data is received. The steps of method 700 are explained inthe following subsections.

And although method 700 may be carried out by server 106, this is notrequired. In some embodiments, method 700 may be carried out entirely,or in part, by network-access device 102A or some other computing systemthat may or may not be communicatively coupled to any network.

a. Cause Display of Content Window Including Content Element andFeedback Element

At block 702, causing a display of a content window on a graphicaldisplay, the content window including a content element and a feedbackelement. As one example the computing system may display content window1204 as depicted in FIG. 12A. As shown, content window 1204 includes acontent element in the form of second-query responses 1206A-1206B andincludes a feedback element in the form of helpfulness buttons1208A-1208D.

In an embodiment, the content element may include informationcorresponding to a graphical-user-interface element. For example, in theexample shown in FIG. 12A, the content element in the form ofsecond-query responses 1206A-1206B includes information (i.e., answersto questions relevant to help sought by the user) corresponding to thegraphical-user-interface element button element 806C.

Further, in an embodiment, the feedback element may be the only elementwithin the content window that allows the user to close, exit, orotherwise dismiss the content window. Thus, in the example shown in FIG.12A helpfulness buttons 1208A-1208D may be the only elements withincontent window 1204 that allows the user to close, exit, or otherwisedismiss content window 1204. That is, second-query responses 1206A-1206Bmay not be selectable. And further, note that content window 1204 doesnot include any other elements, selectable or otherwise, including an“exit” and/or “close” button.

b. Receive Feedback Data Indicating Selection of Feedback Element andUtility of Content Element

At block 704, the computing system receives feedback data indicating aselection of the feedback element and a utility of the content element.For example a user may select one of helpfulness buttons 1208A-1208Dand, as a result, submit to the computing system feedback dataindicating whether the content element, or second-query responses1206A-1206B, was helpful.

In an embodiment, before receiving the feedback data, the computingsystem may cause the display of a feedback prompt indicating that thefeedback element should be selected. For instance, content window 1204may additionally include a prompt indicating that the user must selectone of helpfulness buttons 1208A-1208D. Alternatively, the computingsystem may, in response to the user attempting to interact with theuser-interface in any manner other than selecting one of helpfulnessbuttons 1208A-1208D, provide a prompt indicating that the user mustselect one of helpfulness buttons 1208A-1208D.

Further, in an embodiment, the computing system may determine arelevance of the content element based on at least the indication of theutility of the content element. Such a relevance may be determined inaccordance with any of the relevance-determination techniques describedabove.

And further still, the feedback data may further indicate an author ofthe content element. Accordingly, the computing system may be arrangedto recognize, and perhaps store, whether the content provided by a givenauthor was identified as helpful or, alternatively, identified as nothelpful.

c. No Longer Display Content Window

At block 706, the computing system, in response to receiving thefeedback data, no longer causes the display of the content window on thegraphical display, where the content window is displayed at least untilthe feedback data is received. That is, the content window is closedwhen, and only when, the user provides feedback regarding the utility ofthe content element. According to such a feature, feedback informationregarding the content displayed in the content window is conveniently,yet mandatorily, provided within the normal course of the user'sinteraction with the user-interface.

6. Administration of User-Interface

As described above, the computing system may store various first-queryresponses (questions) and second-query responses (answers) forpresentation to users that seek help regarding particular user-interfaceelements. As also described above, users of the user-interface maysubmit such first-query responses and second-query responses to thecomputing system in the normal course of the users' interaction with theuser-interface.

It is of note that the user-interface may also include variousadministration features that, among other features, may include theability for an administrator of the user-interface to populate variousfirst-query responses and second-query responses for the user-interface.In this way, an administrator may submit anticipated questions andassociated answers corresponding to the user-interface prior to anyactual use of the user-interface by a user. In this way theadministrator may “seed” initial content of the help mode describedabove, and thereby encourage use of the help mode. And note that an“administrator” may be any user of the user-interface. That is, any usermay be given privileges, explicitly or implicitly, to carry out theadministrative functions described herein.

Further, as noted above, in the normal course of a user's interactionwith the user-interface, the user may submit various first-queryresponses, or questions, that may not have previously existed. Suchsubmitted questions may be drawn to the attention of the administrator,and the administrator may responsively submit an answer associated withthe user-submitted question.

Further, as noted above, in the normal course of a user's interactionwith the user-interface, the user may submit answer-needed dataindicating that an answer corresponding to a first-query response isneeded. Such a submission may similarly be drawn to the attention of theadministrator, and the administrator may responsively submit an answercorresponding to the first-query response.

Those of skill in the art will appreciate that the user-interface mayinclude additional suitable administrative features so as to assistand/or improve the function of the user-interface including a help modeassociated with the user-interface.

7. Conclusion

While various aspects and embodiments have been disclosed herein, otheraspects and embodiments will be apparent to those skilled in the art.For example, with respect to the flow charts depicted in the figures anddiscussed herein, functions described as blocks may be executed out oforder from that shown or discussed, including substantially concurrentor in reverse order, depending on the functionality involved. Further,more or fewer blocks and/or functions may be used and/or flow charts maybe combined with one another, in part or in whole.

A block that represents a processing of information may correspond tocircuitry that can be configured to perform the specific logicalfunctions of a herein-described method or technique. Alternatively oradditionally, a block that represents a processing of information maycorrespond to a module, a segment, or a portion of program code(including related data). The program code may include one or moreinstructions executable by a processor for implementing specific logicalfunctions or actions in the method or technique.

The various aspects and embodiments disclosed herein are for purposes ofillustration and are not intended to be limiting, with the true scopeand spirit being indicated by the following claims. Other embodimentscan be utilized, and other changes can be made, without departing fromthe spirit or scope of the subject matter presented herein.

1. A method, comprising: entering into a help mode of a graphical userinterface for a computing system, wherein at least some functionality ofthe graphical user interface is suspended while in the help mode; whilein the help mode, identifying an identified user-interface element ofthe graphical user interface, and after identifying the identifieduser-interface element of the graphical user interface, receivingfirst-query data at the computing device, the first-query datacomprising contextual data for the identified user-interface element ofthe graphical user interface, the contextual data indicating one or moreof: a user-interface element type for the identified user-interfaceelement, a user-interface element location for the identifieduser-interface element within the graphical user interface, anduser-interface element text for the identified user-interface element;after receiving the first-query data, determining at least one orderedfirst-query response based on at least the contextual data using thecomputing system by at least: determining a respective context score foreach determined at least one first-query response based on thecontextual data, the context score based on at least one of anelement-type metric that is based on the user-interface element type, anelement-location metric that is based on the user-interface elementlocation, and an element-text metric that is based on the user-interfaceelement text; and determining an order for the determined at least onefirst-query response based on the respective context score for eachdetermined at least one first-query response; and causing an indicationof the determined at least one ordered first-query response to beprovided using the graphical user interface via an output deviceassociated with the computing system.
 2. The method of claim 1, furthercomprising: receiving second-query data indicating a selection of one ormore of the at least one first-query responses; determining at least onesecond-query response based on the second-query data; and causing anindication of the determined at least one second-query response to beprovided via the output device.
 3. The method of claim 2, furthercomprising: determining an order of the determined at least onesecond-query response based on a respective relevance of each determinedat least one second-query response, wherein determining the respectiverelevance of each determined at least one second-query responsecomprises determining the respective relevance of each determined atleast one second-query response based on at least an identity of anauthor of each determined at least one second-query response.
 4. Themethod of claim 2, further comprising: after causing the indication ofthe determined at least one second-query response to be provided,receiving helpfulness data indicating an extent to which the at leastone second-query response was helpful.
 5. The method of claim 2, furthercomprising: receiving answer data indicating an answer associated with agiven first-query response; causing the answer data to be stored as asecond-query response; and modifying a status of the author of theanswer based on a helpfulness rating of the answer.
 6. The method ofclaim 1, wherein the first-query data further comprises search-term dataindicating at least one search term, and wherein determining the atleast one first query response comprises determining the at least onefirst-query response based on at least the contextual data and thesearch-term data.
 7. The method of claim 1, wherein determining therespective context score for each determined at least one first-queryresponse comprises: determining a first value of the element-type metricwhen the user-interface element type is in the first-query response, anddetermining a second value of the element-type metric when theuser-interface element type is not in the first-query response.
 8. Themethod of claim 1, wherein entering into the help mode comprises dimmingthe graphical user interface.
 9. The method of claim 1, furthercomprising: receiving answer-needed data indicating that an answercorresponding to a first-query response is needed.
 10. The method ofclaim 1, further comprising: receiving question data indicating aquestion associated with a given user-interface element; and causing thequestion data to be stored as a first-query response.
 11. A systemcomprising: a processor; a non-transitory computer readable medium; andprogram instructions stored on the non-transitory computer readablemedium and executable by the processor to: enter into a help mode of agraphical user interface, wherein at least some functionality of thegraphical user interface is suspended while in the help mode; while inthe help mode, identify an identified user-interface element of thegraphical user interface, and after identifying the identifieduser-interface element of the graphical user interface, receivefirst-query data comprising contextual data for the identifieduser-interface element of the graphical user interface, the contextualdata indicating one or more of: a user-interface element type for theidentified user-interface element, a user-interface element location forthe identified user-interface element within the graphical userinterface, and user-interface element text for the identifieduser-interface element; after receiving the first-query data, determineat least one ordered first-query response based on at least thecontextual data using the system to at least: determining a respectivecontext score for each determined at least one first-query responsebased on the contextual data, the context score based on at least one ofan element-type metric that is based on the user-interface element type,an element-location metric that is based on the user-interface elementlocation, and an element-text metric that is based on the user-interfaceelement text; and determining an order for the determined at least onefirst-query response based on the respective context score for eachdetermined at least one first-query response; cause an indication of thedetermined at least one ordered first-query response to be providedusing the graphical user interface via an output device; receivesecond-query data indicating a selection of one or more of the at leastone first-query responses; determining at least one second-queryresponse based on the second-query data; and cause an indication of thedetermined at least one second-query response to be provided via theoutput device.
 12. The system of claim 11, wherein determining therespective context score for each determined at least one first-queryresponse comprises: determining a first value of the element-type metricwhen the user-interface element type is in the first-query response, anddetermining a second value of the element-type metric when theuser-interface element type is not in the first-query response; andwherein the system further comprising program instructions stored on thenon-transitory computer readable medium and executable by the processorto: determine an order of the determined at least one second-queryresponse based on a respective relevance of each determined at least onesecond-query response, wherein determining the respective relevance ofeach determined at least one second-query response comprises determiningthe respective relevance of each determined at least one second-queryresponse based on at least an identity of an author of each determinedat least one second-query response.
 13. The system of claim 11, whereinentering into the help mode comprises dimming the graphical userinterface, and the system further comprising program instructions storedon the non-transitory computer readable medium and executable by theprocessor to: after causing the indication of the determined at leastone second-query response to be provided, receive helpfulness dataindicating an extent to which the at least one second-query response washelpful.
 14. The system of claim 11, the system further comprisingprogram instructions stored on the non-transitory computer readablemedium and executable by the processor to: receive answer-needed dataindicating that an answer corresponding to a first-query response isneeded; receive answer data indicating an answer associated with a givenfirst-query response; cause the answer data to be stored as asecond-query response; and modify a status of the author of the answerbased on a helpfulness rating of the answer.
 15. The system of claim 11,the system further comprising program instructions stored on thenon-transitory computer readable medium and executable by the processorto: receive question data indicating a question associated with a givenuser-interface element; and cause the question data to be stored as afirst-query response.
 16. A non-transitory computer readable mediumhaving instructions stored thereon, the instructions comprising:instructions for entering into a help mode of a graphical userinterface, wherein at least some functionality of the graphical userinterface is suspended while in the help mode; instructions for, whilein the help mode, identifying an identified user-interface element ofthe graphical user interface, and after identifying the identifieduser-interface element of the graphical user interface, receivingfirst-query data comprising contextual data, the contextual data for theidentified user-interface element of the graphical user interface, thecontextual data indicating one or more of: a user-interface element typefor the identified user-interface element, a user-interface elementlocation for the identified user-interface element within the graphicaluser interface, and user-interface element text for the identifieduser-interface element; instructions for, after receiving thefirst-query data, determining at least one ordered first-query responsebased on at least the contextual data by at least: determining arespective context score for each determined at least one first-queryresponse based on the contextual data, the context score based on atleast one of an element-type metric that is based on the user-interfaceelement type, an element-location metric that is based on theuser-interface element location, and an element-text metric that isbased on the user-interface element text; and determining an order forthe determined at least one first-query response based on the respectivecontext score for each determined at least one first-query response;instructions for causing an indication of the determined at least oneordered first-query response to be provided using the graphical userinterface via an output device; instructions for receiving second-querydata indicating a selection of one or more of the at least onefirst-query responses; instructions for determining at least onesecond-query response based on the second-query data; and instructionsfor causing an indication of the determined at least one second-queryresponse to be provided via the output device.
 17. The non-transitorycomputer readable medium of claim 16, wherein the instructions fordetermining the respective context score for each determined at leastone first-query response comprise: instructions for determining a firstvalue of the element-type metric when the user-interface element type isin the first-query response; instructions for determining a second valueof the element-type metric when the user-interface element type is notin the first-query response; and wherein the instructions furthercomprise: instructions for determining an order of the determined atleast one second-query response based on a respective relevance of eachdetermined at least one second-query response, wherein determining therespective relevance of each determined at least one second-queryresponse comprises determining the respective relevance of eachdetermined at least one second-query response based on at least anidentity of an author of each determined at least one second-queryresponse.
 18. The non-transitory computer readable medium of claim 16,wherein the instructions for entering into the help mode compriseinstructions for dimming the graphical user interface, and theinstructions further comprising: instructions for, after causing theindication of the determined at least one second-query response to beprovided, receiving helpfulness data indicating an extent to which theat least one second-query response was helpful.
 19. The non-transitorycomputer readable medium of claim 16, the instructions furthercomprising: instructions for receiving answer data indicating an answerassociated with a given first-query response; instructions for causingthe answer data to be stored as a second-query response; andinstructions for modifying a status of the author of the answer based ona helpfulness rating of the answer.
 20. The non-transitory computerreadable medium of claim 16, the instructions further comprising:instructions for receiving question data indicating a questionassociated with a given user-interface element; and instructions forcausing the question data to be stored as a first-query response.
 21. Amethod, comprising: receiving help-mode data indicating auser-preference to enter a help mode corresponding to a graphicaluser-interface comprising at least one graphical-user-interface element;entering the help mode corresponding to the graphical user-interface,wherein at least some functionality of the graphical user-interface issuspended while in the help mode, the help mode comprising: providing aninformation-overlay interface corresponding to the graphicaluser-interface, wherein the information-overlay interface comprises atleast one information-overlay-interface element corresponding to thegraphical user-interface; receiving selection data indicating aselection of the at least one information-overlay-interface elementindicating an identified graphical-user-interface element of thegraphical user-interface, wherein the selection data indicates one ormore of: a user-interface element type for the identified user-interfaceelement, a user-interface element location for the identifieduser-interface element within the graphical user interface, anduser-interface element text for the identified user-interface element,and wherein the at least one respective graphical-user-interface elementcomprises the identified graphical-user-interface element; and afterreceiving the selection data, causing a visual indication of theselection of the at least one information-overlay-interface element tobe displayed on a graphical display by at least: determining at leastone query response based on the selection data; determining a respectivecontext score for each determined at least one first-query responsebased on the selection data, the context score based on at least one ofan element-type metric that is based on the user-interface element type,an element-location metric that is based on the user-interface elementlocation, and an element-text metric that is based on the user-interfaceelement text; and determining an order for the at least one queryresponse based on the respective context score for each of the at leastone query response, and causing a visual indication of the ordered atleast one query response.
 22. The method of claim 21, wherein the helpmode further comprises: before receiving the selection data, causing avisual indication of an identification of the at least oneinformation-overlay-interface element to be displayed on the graphicaldisplay.
 23. The method of claim 21, wherein providing theinformation-overlay interface comprises dimming the graphicaluser-interface.
 24. The method of claim 21, wherein determining therespective context score for each of the at least one query responsecomprises: determining a first value of the element-type metric when theuser-interface element type is in the query response; and determining asecond value of the element-type metric when the user-interface elementtype is not in the query response.
 25. The method of claim 21, whereinthe help mode further comprises: before receiving the selection data,modifying at least one graphical property of the graphicaluser-interface.
 26. A non-transitory computer readable medium havinginstructions stored thereon, the instructions comprising: instructionsfor receiving help-mode data indicating a user-preference to enter ahelp mode corresponding to a graphical user-interface comprising atleast one graphical-user-interface element; instructions for enteringthe help mode corresponding to the graphical user-interface, wherein atleast some functionality of the graphical user-interface is suspendedwhile in the help mode, the help mode comprising: providing aninformation-overlay interface corresponding to the graphicaluser-interface, wherein the information-overlay interface comprises atleast one information-overlay-interface element corresponding to thegraphical user-interface; receiving selection data indicating aselection of the at least one information-overlay-interface elementindicating an identified graphical-user-interface element of thegraphical user-interface, wherein the selection data indicates one ormore of: a user-interface element type for the identified user-interfaceelement, a user-interface element location for the identifieduser-interface element within the graphical user interface, anduser-interface element text for the identified user-interface elementand wherein the at least one respective graphical-user-interface elementcomprises the identified graphical-user-interface element; and afterreceiving the selection data, causing a visual indication of theselection of the at least one information-overlay-interface element tobe displayed on a graphical display by at least: determining at leastone query response based on the selection data; determining a respectivecontext score for each determined at least one first-query response, thecontext score based on at least one of an element-type metric that isbased on the user-interface element type, an element-location metricthat is based on the user-interface element location, and anelement-text metric that is based on the user-interface element text;and determining an order for the at least one query response based onthe respective context score for each of the at least one queryresponse, and causing a visual indication of the ordered at least onequery response.